package fi.foyt.cs.persistence.dao.items;

import javax.persistence.EntityManager;

import fi.foyt.cs.persistence.dao.GenericDAO;
import fi.foyt.cs.persistence.domainmodel.items.Item;

public class ItemDAO extends GenericDAO<Item> {

  public Item create(Long localeElementId, String icon) {
    EntityManager entityManager = getEntityManager();

    entityManager.getTransaction().begin();
    try {
      Item item = new Item();
      item.setLocaleElementId(localeElementId);
      item.setIcon(icon);
      entityManager.persist(item);
      entityManager.getTransaction().commit();
      return item;
    } finally {
      if (entityManager.getTransaction().isActive())
        entityManager.getTransaction().rollback();
    }
  }
  
  public Item updateIcon(Item item, String icon) {
    EntityManager entityManager = getEntityManager();

    entityManager.getTransaction().begin();
    try {
      item.setIcon(icon);
      item = entityManager.merge(item);
      entityManager.getTransaction().commit();
      
      return item;
    } finally {
      if (entityManager.getTransaction().isActive())
        entityManager.getTransaction().rollback();
    }
  }
  
}
